# 设置CMake的最小版本
cmake_minimum_required(VERSION 3.15)

# 项目名称
#   项目可以包含多个目标(target)
#   target: 可执行程序, 静态库, 动态库
project(SearchEngine)

# 指定C++的版本: -std=c++17
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

# 设置可执行程序生成的路径
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ../)


# 生成的可执行程序 (共3个)
# 1. 搜索引擎服务器
add_executable(server
    main.cpp
    EngineServer.cc
    ./OnLineFunction/CandidateWords.cc
    ./OnLineFunction/CandidatePages.cc
    ./TcpServer/TcpConnection.cpp
    ./TcpServer/TcpServer.cpp
    ./TcpServer/EventLoop.cpp
    ./ThreadPool/TaskQueue.cpp
    ./ThreadPool/ThreadPool.cpp
)


# 2. 设置编译选项
target_compile_options(server PRIVATE
    -DDEBUG
    -g
)


# 3. 设置需要链接的库
target_link_libraries(server PRIVATE    
    tinyxml2
)